home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_100 / 194_01 / count.c < prev    next >
Text File  |  1985-11-13  |  1KB  |  49 lines

  1. /* [COUNT.C of JUGPDS Vol.17]
  2. *****************************************************************
  3. *                                *
  4. *    Written by  Hakuo Katayose (JUG-CP/M No.179)        *
  5. *            49-114 Kawauchi-Sanjuunin-machi        *
  6. *            Sendai, Miyagi 980                          *
  7. *            Phone: 0222-61-3219                *
  8. *                                *
  9. *    Edited & tested by Y. Monma (JUG-C/M Disk Editor)       * 
  10. *                                *
  11. *****************************************************************
  12. */
  13.  
  14. /* count - count characters, lines & words of a file */
  15.  
  16. #include "stdio.h"
  17. #include <dio.h>    /* Link DIO.CRL */
  18.  
  19. main(argc, argv)
  20. int    argc;
  21. char    **argv;
  22.  
  23. {
  24.     int   c, wc, nl, nc, inword;
  25.  
  26.     dioinit(&argc, argv);    /* Initialize redirection */
  27.     if (argc < 2)        /* Check command lines */
  28.             error("Usage: count <infile >outfile ^Z");
  29.     nc = 0;
  30.     nl = 0;
  31.     wc = 0;
  32.     inword = NO;
  33.     while ( (c = getchar() ) != EOF ) {
  34.         if ( c == BLANK || c == TAB )
  35.             inword = NO;
  36.         else if ( c == NEWLINE ) {
  37.             inword = NO;
  38.             nl++;
  39.             }
  40.         else if ( inword == NO ) {
  41.             inword = YES;
  42.             wc++;
  43.             }
  44.         nc++;
  45.         }
  46.     printf("chars =%6d, words =%5d, lines =%4d\n", nc, wc, nl);
  47.     dioflush();
  48. }
  49.